import {Progress} from 'antd';
import {parsePercent, numberHandle, strToNumber} from '~/utils/number';
import {splitStr} from './config';

// 该看板的search-key用 unitId 做了区分，需要转成正常的key
export const splitFormValues = fieldsValue => {
    const keyArr = Object.keys(fieldsValue);
    const newFieldsValue = {};

    keyArr.forEach(itemKey => {
        const [unitId, normalKey] = itemKey.split(splitStr);

        newFieldsValue[normalKey] = fieldsValue[itemKey];
    });

    return {newFieldsValue};
};

export const getColumnValue = (value, text) => {
    switch (text) {
        case '可续人数-整体':
        case '可续人数-新学员':
        case '可续人数-老学员':
        case '可续人数-插1学员':
        case '可续人数-插2学员':
            return (
                <span className="normal-col">
                    {strToNumber(value)}
                </span>
            );
        case '综续目标-整体':
        case '综续目标-新学员':
        case '综续目标-老学员':
        case '综续目标-插1学员':
        case '综续目标-插2学员':
        case '纯续目标-整体':
        case '纯续目标-新学员':
        case '纯续目标-老学员':
        case '纯续目标-插1学员':
        case '纯续目标-插2学员':
        case '综合续班率-今日新增':
        case '纯续班率-整体':
        case '纯续班率-新学员':
        case '纯续班率-老学员':
        case '纯续班率-插1学员':
        case '纯续班率-插2学员':
        case '扩科率':
        case '转介绍率':
        case '综合续班率-整体':
        case '综合续班率-新学员':
        case '综合续班率-老学员':
        case '综合续班率-插1学员':
        case '综合续班率-插2学员':
            return (
                <span className="normal-col">
                    {parsePercent(value, 2)}
                </span>
            );
        case '纯续目标达成率-整体':
        case '纯续目标达成率-新学员':
        case '纯续目标达成率-老学员':
        case '纯续目标达成率-插1学员':
        case '纯续目标达成率-插2学员':
        case '综续目标达成率-整体':
        case '综续目标达成率-新学员':
        case '综续目标达成率-老学员':
        case '综续目标达成率-插1学员':
        case '综续目标达成率-插2学员':
            return (
                <div className="general-custom-col">
                    <span className="custom-col-value">
                        {parsePercent(value, 2)}
                    </span>
                    <Progress
                        showInfo={false}
                        strokeWidth={30}
                        strokeColor="#1890ff"
                        percent={numberHandle(value * 100, 1)}
                    />
                </div>
            );
        default:
            return (
                <span className="normal-col">
                    {value}
                </span>
            );
    }
};
